#!/usr/bin/env node

// Node cli应用必须是这样的文件头
// 如果是mackos 或这linux 还需要修改文件的权限为755 ，chmod 755 cli.js

// 脚手架工具的工作过程
// 1. 通过命令行交互 询问
// 2. 根据询问的结果生成模版文件

const fs = require('fs');
const path = require('path');
// 命令行询问工具
const inquirer = require('inquirer');
const ejs = require('ejs');

inquirer.prompt([{
  type: 'input',
  name: 'name',
  message: 'project name'
}]).then(answer => {
  // console.log('answer', answer);

  // 获取模版目录
  const tempPath = path.join(__dirname, 'templates');
  // 目标目录
  const dest = process.cwd();

  // 将模版文件全部转换到目标目录下
  fs.readdir(tempPath, (err, files) => {
    // console.log(files);
    if (err) throw err;
    files.forEach(file => {
      ejs.renderFile(path.join(tempPath, file), answer, (err, result) => {
        if (err) throw err;

        fs.writeFileSync(path.join(dest, file), result)

      })
    })

  })
})